package vista;

import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.FocusListener;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;


/**
 * This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI
 * Builder, which is free for non-commercial use. If Jigloo is being used
 * commercially (ie, by a corporation, company or business for any purpose
 * whatever) then you should purchase a license for each developer using Jigloo.
 * Please visit www.cloudgarden.com for details. Use of Jigloo implies
 * acceptance of these licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN
 * PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR
 * ANY CORPORATE OR COMMERCIAL PURPOSE.
 */
public class ventanaSubItemCompra extends javax.swing.JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JPanel pnlubicaritemcompra;
	private JLabel lblEstante;
	private JLabel lbldepositos;
	private JLabel lblProductos;
	@SuppressWarnings("rawtypes")
	private JComboBox cboEstante;
	private JButton btnAceptar;
	private JButton btnCancelar;
	private JButton btnUbicarItemCompra;
	private JLabel lblUbicarProductos;
	private JTable tblubicaritemcompra;
	private JScrollPane jpnubicaritemcompra;
	private JTextField txtcantidadquedebeasignar;
	private JLabel lblCantidadquedebeasignar;
	private JLabel lblcantidadasignada;
	private JTextField txtcantidadasignada;
	private JComboBox<String> cboDepositos;
	private JComboBox<String> cboItemCompras;
	private String producto;
	private String cantidad;

	/**
	 * Auto-generated main method to display this JFrame
	 */

	public ventanaSubItemCompra() {
		super();
		initGUI();
	}

	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setForeground(new java.awt.Color(255, 255, 255));
			{
				pnlubicaritemcompra = new JPanel();
				getContentPane().add(pnlubicaritemcompra, BorderLayout.CENTER);
				pnlubicaritemcompra.setLayout(null);
				pnlubicaritemcompra.setPreferredSize(new java.awt.Dimension(
						820, 423));
				pnlubicaritemcompra.setForeground(new java.awt.Color(255, 255,
						255));
				pnlubicaritemcompra.setBackground(new java.awt.Color(255, 255,
						255));
				{
					ComboBoxModel cboItemComprasModel = new DefaultComboBoxModel<String>(
							new String[] {});
					cboItemCompras = new JComboBox();
					pnlubicaritemcompra.add(cboItemCompras);
					cboItemCompras.setModel(cboItemComprasModel);
					cboItemCompras.setBounds(82, 70, 164, 22);
					cboItemCompras.setActionCommand("ItemCompras");
				}
				{
					ComboBoxModel cboDepositosModel = new DefaultComboBoxModel<String>(
							new String[] {});
					cboDepositos = new JComboBox();
					pnlubicaritemcompra.add(cboDepositos);
					cboDepositos.setModel(cboDepositosModel);
					cboDepositos.setBounds(337, 70, 183, 22);
					cboDepositos.setActionCommand("Depositos");
				}
				{
					ComboBoxModel cboEstanteModel = new DefaultComboBoxModel(
							new String[] {});
					cboEstante = new JComboBox();
					pnlubicaritemcompra.add(cboEstante);
					cboEstante.setModel(cboEstanteModel);
					cboEstante.setBounds(602, 70, 205, 22);
					cboEstante.setActionCommand("Estante");
				}
				{
					txtcantidadasignada = new JTextField();
					pnlubicaritemcompra.add(txtcantidadasignada);
					txtcantidadasignada.setBounds(212, 135, 43, 22);
					txtcantidadasignada.setActionCommand("txtes");
				}
				{
					lblcantidadasignada = new JLabel();
					pnlubicaritemcompra.add(lblcantidadasignada);
					lblcantidadasignada.setText("Cantidad que desea Asignar.");
					lblcantidadasignada.setBounds(18, 138, 210, 15);
					lblcantidadasignada.setFont(new java.awt.Font("Dialog", 0,
							12));
				}
				{
					lblCantidadquedebeasignar = new JLabel();
					pnlubicaritemcompra.add(lblCantidadquedebeasignar);
					lblCantidadquedebeasignar
							.setText("Cantidad que debe asignar.");
					lblCantidadquedebeasignar.setBounds(280, 138, 198, 15);
					lblCantidadquedebeasignar.setFont(new java.awt.Font(
							"Dialog", 0, 12));
				}
				{
					txtcantidadquedebeasignar = new JTextField();
					pnlubicaritemcompra.add(txtcantidadquedebeasignar);
					txtcantidadquedebeasignar.setBounds(465, 135, 43, 22);
				}
				{
					jpnubicaritemcompra = new JScrollPane();
					pnlubicaritemcompra.add(jpnubicaritemcompra);
					jpnubicaritemcompra.setBounds(25, 196, 735, 175);
					{
						TableModel tblubicaritemcompraModel = new DefaultTableModel(
								new String[][] {}, new String[] { "Producto",
										"Deposito", "Estante", "Cantidad" }) {
							/**
											 * 
											 */
							private static final long serialVersionUID = 1L;

							@Override
							public boolean isCellEditable(int row, int column) {
								// TODO Auto-generated method stub
								return false;
							}
						};
						tblubicaritemcompra = new JTable();
						jpnubicaritemcompra
								.setViewportView(tblubicaritemcompra);
						tblubicaritemcompra.setModel(tblubicaritemcompraModel);
						tblubicaritemcompra.setBounds(18, 166, 681, 20);
						tblubicaritemcompra.setBackground(new java.awt.Color(
								191, 191, 191));
						tblubicaritemcompra.getTableHeader().setBackground(
								new java.awt.Color(30, 181, 255));
						tblubicaritemcompra.setGridColor(new java.awt.Color(0,
								0, 0));
					}
				}
				{
					lblUbicarProductos = new JLabel();
					pnlubicaritemcompra.add(lblUbicarProductos);
					lblUbicarProductos.setText("Ubicar Productos.");
					lblUbicarProductos.setBounds(280, 12, 196, 23);
					lblUbicarProductos.setFont(new java.awt.Font(
							"Century Schoolbook L", 0, 22));
				}
				{
					btnUbicarItemCompra = new JButton();
					pnlubicaritemcompra.add(btnUbicarItemCompra);
					btnUbicarItemCompra.setBounds(306, 383, 93, 30);
					btnUbicarItemCompra.setIcon(new ImageIcon(getClass()
							.getClassLoader().getResource(
									"imagen/Boton_Guardar2.jpg")));
					btnUbicarItemCompra.setRolloverIcon(new ImageIcon(
							getClass().getClassLoader().getResource(
									"imagen/Boton_Guardar.jpg")));
					btnUbicarItemCompra.setBorder(BorderFactory
							.createEmptyBorder(0, 0, 0, 0));
					btnUbicarItemCompra
							.setActionCommand("GuardarSubItemCompra");
				}
				{
					btnAceptar = new JButton();
					pnlubicaritemcompra.add(btnAceptar);
					btnAceptar.setBounds(524, 135, 91, 31);
					btnAceptar.setIcon(new ImageIcon(getClass()
							.getClassLoader().getResource(
									"imagen/Boton_Aceptar2.jpg")));
					btnAceptar.setBorder(BorderFactory.createEmptyBorder(0, 0,
							0, 0));
					btnAceptar.setRolloverIcon(new ImageIcon(getClass()
							.getClassLoader().getResource(
									"imagen/Boton_Aceptar.jpg")));
					btnAceptar.setActionCommand("Aceptar");
				}
				{
					btnCancelar = new JButton();
					pnlubicaritemcompra.add(btnCancelar);
					btnCancelar.setBounds(627, 135, 82, 31);
					btnCancelar.setIcon(new ImageIcon(getClass()
							.getClassLoader().getResource(
									"imagen/Boton_Cancelar2.jpg")));
					btnCancelar.setRolloverIcon(new ImageIcon(getClass()
							.getClassLoader().getResource(
									"imagen/Boton_Cancelar.jpg")));
					btnCancelar.setBorder(BorderFactory.createEmptyBorder(0, 0,
							0, 0));
					btnCancelar.setActionCommand("Cancelar");
				}
				{
					lblProductos = new JLabel();
					pnlubicaritemcompra.add(lblProductos);
					lblProductos.setText("Productos.");
					lblProductos.setBounds(7, 74, 68, 15);
				}
				{
					lbldepositos = new JLabel();
					pnlubicaritemcompra.add(lbldepositos);
					lbldepositos.setText("Depositos.");
					lbldepositos.setBounds(258, 74, 79, 15);
				}
				{
					lblEstante = new JLabel();
					pnlubicaritemcompra.add(lblEstante);
					lblEstante.setText("Estante");
					lblEstante.setBounds(532, 74, 60, 15);
				}
			}
			pack();
			this.setSize(822, 452);
		} catch (Exception e) {
			// add your error handling code here
			e.printStackTrace();
		}
	}

	public JComboBox getCboEstante() {
		return cboEstante;
	}

	public JTable getTblubicaritemcompra() {
		return tblubicaritemcompra;
	}

	public String getTxtcantidadquedebeasignar() {
		return txtcantidadquedebeasignar.getText();
	}

	public String getTxtcantidadasignada() {
		return txtcantidadasignada.getText();
	}

	public JComboBox getCboDepositos() {
		return cboDepositos;
	}

	public JComboBox getCboItemCompras() {
		return cboItemCompras;
	}

	public void setCboEstante(JComboBox cboEstante) {
		this.cboEstante = cboEstante;
	}

	public void setTblubicaritemcompra(JTable tblubicaritemcompra) {
		this.tblubicaritemcompra = tblubicaritemcompra;
	}

	public void setTxtcantidadquedebeasignar(String txtcantidadquedebeasignar) {
		this.txtcantidadquedebeasignar.setText(txtcantidadquedebeasignar);
	}

	public void setTxtcantidadasignada(String txtcantidadasignada) {
		this.txtcantidadasignada.setText(txtcantidadasignada);
	}

	public void setCboDepositos(JComboBox cboDepositos) {
		this.cboDepositos = cboDepositos;
	}

	public void setCboItemCompras(JComboBox cboItemCompras) {
		this.cboItemCompras = cboItemCompras;
	}

	public void agregarItemCompras(String index) {
		DefaultComboBoxModel cboitemcompras = (DefaultComboBoxModel) cboItemCompras
				.getModel();
		cboitemcompras.addElement(index);

	}

	public void agregarItemDeposito(String item) {
		DefaultComboBoxModel cboitemdeposito = (DefaultComboBoxModel) cboDepositos
				.getModel();
		cboitemdeposito.addElement(item);
	}

	public void agregarItemEstantoOPaleta(String item) {
		DefaultComboBoxModel cboitemEstanteOPaleta = (DefaultComboBoxModel) cboEstante
				.getModel();
		cboitemEstanteOPaleta.addElement(item);
	}

	public String getSelectedItemCboDepositos() {
		DefaultComboBoxModel modelo = (DefaultComboBoxModel) cboDepositos
				.getModel();

		return (String) modelo.getSelectedItem();
	}

	public String getSelectedItemCboEstante() {
		DefaultComboBoxModel modelo = (DefaultComboBoxModel) cboEstante
				.getModel();

		return (String) modelo.getSelectedItem();
	}

	public String getSelectedItemCboProductos() {
		DefaultComboBoxModel modelo = (DefaultComboBoxModel) cboItemCompras
				.getModel();

		return (String) modelo.getSelectedItem();
	}

	public void agregarItemUbicarItemCompra(Vector campos) {
		DefaultTableModel tablaItem = (DefaultTableModel) tblubicaritemcompra
				.getModel();
		tablaItem.addRow(campos);
	}

	public void agregarItemUbicarItemCompraString(String campos, int valor) {
		DefaultTableModel tablaItem = (DefaultTableModel) tblubicaritemcompra
				.getModel();
		tablaItem.setValueAt(campos, valor, 3);
	}

	public int CantidadColunnasUbicarItemCompras() {
		return tblubicaritemcompra.getColumnCount();
	}

	// retorna la cantidad de filas en la tabla.
	public int CantidadfilasUbicarItemCompras() {
		return tblubicaritemcompra.getRowCount();
	}

	public Vector<String> retornarUbicarItemCompra(int index) {
		DefaultTableModel modelo = (DefaultTableModel) tblubicaritemcompra
				.getModel();
		Vector<String> datos = new Vector<String>(4, 1);
		String codigo = (String) modelo.getValueAt(index, 0);
		String deposito = (String) modelo.getValueAt(index, 1);
		String estante = (String) modelo.getValueAt(index, 2);
		String cantidad = (String) modelo.getValueAt(index, 3);
		datos.add(codigo);
		datos.add(deposito);
		datos.add(estante);
		datos.add(cantidad);
		return datos;
	}

	public String retornarCantidadDeTabla(int index) {
		DefaultTableModel modelo = (DefaultTableModel) tblubicaritemcompra
				.getModel();
		return setCantidad((String) modelo.getValueAt(index, 3));
	}

	public String retornarProductoDeTabla(int index) {
		DefaultTableModel modelo = (DefaultTableModel) tblubicaritemcompra
				.getModel();
		return setProducto((String) modelo.getValueAt(index, 0));
	}

	public void eliminarFilaTblUbicarItemCompra(int index) {
		DefaultTableModel modelo = (DefaultTableModel) this.tblubicaritemcompra
				.getModel();

		modelo.removeRow(index);
	}

	public int retornarFilaSelecionada() {

		return tblubicaritemcompra.getSelectedRow();
	}

	public void mostrarMensaje(String mensaje) {
		JOptionPane.showMessageDialog(this, mensaje, "Información",
				JOptionPane.INFORMATION_MESSAGE);
	}

	public int cantidadItemComboDepositos() {
		int willi = cboDepositos.getItemCount();
		return willi;
	}

	public int cantidadItemComboEstantes() {
		int willi = cboEstante.getItemCount();
		return willi;
	}

	public int cantidadItemComboItemCompras() {
		int willi = cboItemCompras.getItemCount();
		return willi;
	}

	public void agregarListener(ActionListener actionListener) {
		btnAceptar.addActionListener(actionListener);
		btnUbicarItemCompra.addActionListener(actionListener);
		btnCancelar.addActionListener(actionListener);
		cboDepositos.addActionListener(actionListener);
		cboEstante.addActionListener(actionListener);
		cboItemCompras.addActionListener(actionListener);
		txtcantidadasignada.addActionListener(actionListener);

	}

	public void LimpiarComboEstanteOPaleta() {
		ComboBoxModel cmbProductoPedidoModel = new DefaultComboBoxModel(
				new String[] {});
		cboEstante.setModel(cmbProductoPedidoModel);
	}

	public void ponerEneableCajaTexto() {
		txtcantidadquedebeasignar.setEditable(false);
	}

	public void agregarFocusListener(FocusListener focuslistener) {
		txtcantidadasignada.addFocusListener(focuslistener);
	}

	// pendiente me falta validar este metodo
	public void eliminarItemCombo() {
		DefaultComboBoxModel modelo = (DefaultComboBoxModel) cboDepositos
				.getModel();

		modelo.getSelectedItem();
	}

	public void setCboItemCompra(int index) {
		this.cboItemCompras.setSelectedIndex(index);
	}

	public String getCantidad() {
		return cantidad;
	}

	public String setCantidad(String cantidad) {
		this.cantidad = cantidad;
		return cantidad;
	}

	public String getProducto() {
		return producto;
	}

	public String setProducto(String producto) {
		this.producto = producto;
		return producto;
	}

}